home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS20.ADF
/
BlitLab
/
initialize.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-01-27
|
3KB
|
119 lines
/*
* Initialization module of the blitlab program.
*/
#include "structures.h"
/*
* These are the externals we reference.
*/
extern struct Window *mywindow ;
extern struct GfxBase *GfxBase ;
extern struct IntuitionBase *IntuitionBase ;
extern struct RastPort *myrp ;
/*
* This is the humongous window we open on the standard
* workbench screen.
*/
static struct NewWindow mynewwindow = {
HWINSTART, VWINSTART, HWINSIZE, VWINSIZE,
-1, -1,
MOUSEBUTTONS | MOUSEMOVE | GADGETDOWN | GADGETUP | CLOSEWINDOW,
WINDOWDEPTH | WINDOWCLOSE | WINDOWDRAG | SMART_REFRESH | REPORTMOUSE
| ACTIVATE,
NULL,
NULL,
(UBYTE *)BANNER,
NULL,
NULL,
0, 0, 0, 0,
WBENCHSCREEN } ;
/*
* This is the main initialize routine, which gets everything started
* up.
*/
initialize() {
int i, j ;
/*
* First, we try and open libraries and windows.
*/
if ((IntuitionBase = (struct IntuitionBase *)OpenLibrary(
"intuition.library",0L))==NULL ||
(GfxBase = (struct GfxBase *)OpenLibrary("graphics.library",0L))
==NULL)
error("! Couldn't open libraries") ;
if ((mywindow=OpenWindow(&mynewwindow))==NULL)
error("! Couldn't open window") ;
myrp = mywindow -> RPort ;
allocbitmem() ;
buildgadgets() ;
drawlabels() ;
parseall() ;
/*
* Here we draw the bits array, hopefully for easy reference.
*/
color(BLACK) ;
fbox(HBITSTART, VBITSTART, HBITSIZE, VBITSIZE) ;
color(WHITE) ;
box(HBITSTART, VBITSTART, HBITSIZE, VBITSIZE) ;
color(ORANGE) ;
for (i=1; i<24; i++)
box(HBITSTART + i * 24 - 2, VBITSTART, 2, VBITSIZE) ;
for (i=1; i<96; i++)
for (j=1; j<32; j++)
line(HBITSTART + i * 6 - 2, VBITSTART + j * 3, HBITSTART + i * 6 - 2,
VBITSTART + j * 3) ;
color(BLUE) ;
box(HBITSTART, VBITSTART, HBITSIZE, VBITSIZE) ;
for (i=1; i<7; i++)
box(HBITSTART + i * 96 - 2, VBITSTART, 2, VBITSIZE) ;
for (i=1; i<9; i++)
line(HBITSTART, VBITSTART + i * 12, HBITSTART + HBITSIZE - 1,
VBITSTART + i * 12) ;
updatebits() ;
/*
* Now we draw boxes around the blitter register values and user
* settable values.
*/
color(WHITE) ;
box(HRVSTART, VRVSTART, HRVSIZE, VRVSIZE) ;
line(HMVSTART, VRVSTART, HMVSTART, VRVSTART + VRVSIZE - 1) ;
}
/*
* This routine cleans up for exit.
*/
cleanup() {
if (mywindow != NULL)
CloseWindow(mywindow) ;
if (GfxBase != NULL)
CloseLibrary(GfxBase) ;
if (IntuitionBase != NULL)
CloseLibrary(IntuitionBase) ;
freemem() ;
exit(0) ;
}
/*
* drawlabels() draws several miscellaneous labels all over the
* screen.
*/
drawlabels() {
drawtext(HLMGSTART+4, VLMG3-2, "Adrs:") ;
drawtext(HLMGSTART+4, VLMG3+6, " M+") ;
drawtext(HLMGSTART+4, VLMG4-2, "Shift:") ;
drawtext(HRVC1 + 12, VRVL6, "Blitter Register Values") ;
drawtext(HRVC7 + 4, VRVLL6, "DMA Channels") ;
drawtext(HRVC1, VRVL1, "CON0") ;
drawtext(HRVC1, VRVL2, "CON1") ;
drawtext(HRVC1, VRVL3, "SIZE") ;
drawtext(HRVC1, VRVL4, "AFWM") ;
drawtext(HRVC1, VRVL5, "ALWM") ;
drawtext(HRVC3, VRVL2, "A") ;
drawtext(HRVC3, VRVL3, "B") ;
drawtext(HRVC3, VRVL4, "C") ;
drawtext(HRVC3, VRVL5, "D") ;
drawtext(HRVC4 + 4, VRVL1, "PTH PTL MOD DAT") ;
drawtext(HRVC7, VRVLL2, "A") ;
drawtext(HRVC7, VRVLL3, "B") ;
drawtext(HRVC7, VRVLL4, "C") ;
drawtext(HRVC7, VRVLL5, "D") ;
drawtext(HRVC8, VRVL1, "USE PT MOD DAT SH") ;
}